/*
 * Copyright (c) 2005, 2014 vacoor
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 */
package org.vacoor.nothing.web.spring.web.bind;

import org.vacoor.nothing.web.domain.support.PageRequest;

import java.lang.annotation.*;

/**
 * 默认分页参数
 *
 * @author vacoor
 */
@Inherited
@Target({
        ElementType.PARAMETER,
        ElementType.METHOD
})
@Retention(RetentionPolicy.RUNTIME)
public @interface PageableDefault {

    /**
     * 默认起始页
     */
    int page() default PageRequest.DEFAULT_PAGE;

    /**
     * 默认分页大小
     */
    int size() default PageRequest.DEFAULT_PAGE_SIZE;

    /**
     * 默认排序, 格式为 property-direction / property
     * eg:
     * name 等价于 name-desc
     */
    String[] sort() default {}; // 简化操作, 这里直接使用字符串

    /**
     * 当排序条件存在时, 是否与默认排序合并, 默认true
     */
    boolean mergeSort() default true;

}
